package com.ruoyi.asms.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 故障报修阶段信息对象 asms_fault_report_stage
 * 
 * @author yfkj
 * @date 2021-10-21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AsmsFaultReportStage
{
    private static final long serialVersionUID = 1L;
    /** 故障报修阶段信息主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long faultReportStageId;

    /** 故障外键 */
    @Excel(name = "故障外键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "故障外键")
    private Long faultAssetId;

    /** 开始时间 */
    @Excel(name = "开始时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "开始时间")
    private Long startTime;

    /** 结束时间 */
    @Excel(name = "结束时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "结束时间")
    private Long endTime;

    /** 报修负责人 */
    @Excel(name = "报修负责人")
    @TableField(exist = true)
    @ApiModelProperty(value =  "报修负责人")
    private Long ownChargeUserId;

    /** 状态(-1不允许报修，0正在报修申请中，1允许报修，2客户已自行解决) */
    @Excel(name = "状态(-1不允许报修，0正在报修申请中，1允许报修，2客户已自行解决)")
    @TableField(exist = true)
    @ApiModelProperty(value =  "状态(-1不允许报修，0正在报修申请中，1允许报修，2客户已自行解决)")
    private Integer status;

    /** 不允许报修的说明 */
    @Excel(name = "不允许报修的说明")
    @TableField(exist = true)
    @ApiModelProperty(value =  "不允许报修的说明")
    private String reason;

    @TableField(exist = true)
    private Long ownChargeDeptId;

    /** 紧急程度:0不紧急、1一般紧急、2非常紧急 */
    @Excel(name = "不允许报修的说明")
    @TableField(exist = true)
    @ApiModelProperty(value =  "紧急程度:0不紧急、1一般紧急、2非常紧急")
    private Integer urgencyDegree;

    /** 故障是否撤销:0是、1否 */
    @Excel(name = "不允许报修的说明")
    @TableField(exist = true)
    @ApiModelProperty(value =  "故障是否撤销:0是、1否")
    private Integer isCancel;

    public static final String FAULT_REPORT_STAGE_ID="fault_report_stage_id";
    public static final String FAULT_ASSET_ID="fault_asset_id";
    public static final String START_TIME="start_time";
    public static final String END_TIME="end_time";
    public static final String OWN_CHARGE_USER_ID="own_charge_user_id";
    public static final String STATUS="status";
    public static final String REASON="reason";
    public static final String OWN_CHARGE_DEPT_ID="own_charge_dept_id";
    public static final String URGENCY_DEGREE="urgency_degree";
    public static final String IS_CANCEL="is_cancel";

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("faultReportStageId", getFaultReportStageId())

            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("ownChargeUserId", getOwnChargeUserId())
            .append("status", getStatus())
            .append("reason", getReason())
            .toString();
    }
}
